package org.dromara.demo.controller.queue;

import lombok.Data;
import lombok.NoArgsConstructor;


/**
 * @Author 刘武贵
 * @Date 2024/8/15 22:00
 * @Description 功能描述：实体类 注意不允许使用内部类 否则会找不到类
 */
/**
 * PriorityDemo类实现了Comparable接口，用于演示如何在对象之间进行排序
 * 通过实现Comparable接口，PriorityDemo类具备了与其他同类型对象比较大小的能力
 * 这在需要对对象进行排序的场景中非常有用，例如在优先级队列中
 */
@Data
@NoArgsConstructor
public class PriorityDemo implements Comparable<PriorityDemo> {

    /**
     * 名称
     */
    private String name;

    /**
     * 订单号
     */
    private Integer orderNum;

    /**
     * 重写compareTo方法，用于PriorityDemo实例之间的比较
     * 此方法对于类实现排序功能至关重要
     *
     * @param other 要比较的PriorityDemo实例
     * @return 比较结果，返回值为负数表示this小于other，零表示相等，正数表示this大于other
     */
    @Override
    public int compareTo(PriorityDemo other) {
        return Integer.compare(getOrderNum(), other.getOrderNum());
    }
}
